The present invention pertains to language model architecture. More specifically, the present invention pertains to an architectural design wherein a single language model component is shared by multiple applications.
Language models are implemented by a variety of applications including, but not limited to, applications that facilitate recognition of natural language, speech and handwriting inputs. Typically, a language model provides a probability of seeing a particular sequence of words. Language models can be modeled strictly from data, as is the case with n-grams, or modeled using heuristics, as with a parser.
It is not uncommon for language models to be large in size. Some language models consist of tens of millions of word combinations. This being the case, it is not uncommon for separate language models to be loaded for different applications. Such an organization scheme requires a significant investment of machine resources. For example loading multiple language model components for multiple applications requires a significant consumption of RAM resources. Further, the process of maintaining and updating multiple language models can be relatively redundant. Still further, it is not uncommon for the development and deployment of new applications to require incorporation of a devoted language model component.